/**
 * Licensed under the MIT License
 *
 * Copyright (c) 2010 Laurent Berthelot
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */
package samples 
{

	import com.greensock.easing.Back;
	import flash.display.Sprite;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	import marcel.debug.debug;
	import marcel.display.draw.DrawManager;
	import marcel.display.draw.props.FillProps;
	import marcel.display.Tween;
	import marcel.display.View;
	
	/**
	 * ...
	 * @author Laurent Berthelot
	 */
	public class TweenSample extends View
	{
		
		public function TweenSample() 
		{
			var _square:Sprite = DrawManager.drawRect(addChild(new Sprite), new Rectangle(0, 0, 100, 100), new FillProps(0xFF0000)) as Sprite;
			Tween.alphaTo(_square, 0, .5, null, 0, true);
			Tween.alphaTo(_square, 1, .5, null, 2.5, true);
			Tween.resizeTo(_square, new Point(200, 200), 1, Back.easeOut, 3, { onComplete:__onTweenCompleted, onCompleteParams:["onEndResize"] } );
			Tween.colorTo(_square, 0x00FF00, 1, null, 4);
			Tween.moveTo(_square, new Point(100, 100), 2, null, 5, { onComplete:__onTweenCompleted, onCompleteParams:["onEndMove"] });
		}
		
		private function __onTweenCompleted(msg:String):void 
		{
			debug(msg);
		}
		
	}

}